home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / reve / CHANGES.v1-1 < prev    next >
Encoding:
Text File  |  1995-05-03  |  39.6 KB  |  888 lines

  1.  
  2. /*  @(#)CHANGES.v1-1 1.2 91/11/07
  3.  *
  4.  *  Copyright (C) 1990, 1991 - Rich Burridge & Yves Gallot.
  5.  *  All rights reserved.
  6.  *
  7.  *  Permission is granted to copy this source, for redistribution
  8.  *  in source form only, provided the news headers in "substantially
  9.  *  unaltered format" are retained, the introductory messages are not
  10.  *  removed, and no monies are exchanged.
  11.  *
  12.  *  Permission is also granted to copy this source, without the
  13.  *  news headers, for the purposes of making an executable copy by
  14.  *  means of compilation, provided that such copy will not be used
  15.  *  for the purposes of competition in any othello tournaments, without
  16.  *  prior permission from the authors.
  17.  *
  18.  *  No responsibility is taken for any errors on inaccuracies inherent
  19.  *  either to the comments or the code of this program, but if reported
  20.  *  (see README file), then an attempt will be made to fix them.
  21.  */
  22.  
  23. Reve v1.0 - v1.1 change history.
  24. ================================
  25.  
  26. v1.1 - patchlevel 7. 5th January 1991.
  27.  
  28.        * From Robert Cohen <robert@anucsd.anu.edu.au>
  29.          A minor error in the README file. When describing the format of the
  30.          edge table it says the mean value is about 1000. This changed with
  31.          the release of the new edge table... the new mean is about 500.
  32.  
  33.          [The algorithm for the edge table values also changed with the new
  34.           edge table; I'll try to get a new description from Yves - Rich.]
  35.  
  36.        * Added mention of the mailing list to the README file.
  37.  
  38.        * From Andreas Zins <zins@forwiss.uni-erlangen.de>
  39.          In x11.c, about line 42, the fonts are defined via
  40.               #define  BOLDFONT    "lucidasanstypewriter-bold-12"
  41.               #define  DEFFONT     "fixed"
  42.               #define  HELPFONT    "lucidasanstypewriter-10"
  43.               #define  NORMALFONT  "lucidasanstypewriter-12"
  44.          but I don't have these fonts on my machine.
  45.  
  46.          These three fonts are now settable via X resources.
  47.          You can then add entries like:
  48.  
  49.                reve.normalFont:        helvetica12
  50.                reve.boldFont:          helvetica_bold12
  51.                reve.helpFont:          6x10
  52.  
  53.          to your ~/.reverc file. This also fixes up the following problem.
  54.  
  55.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  56.          The Help window is too tall to display on a 768 pixel high screen,
  57.          if opened in conjunction with twm. This is similar to the problem
  58.          reported with the main board window at an earlier patchlevel.
  59.  
  60.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  61.          If the up-arrow widget is clicked on whilst displaying the last page
  62.          (#9) of the help in the Help window, the window displays the first
  63.          page of help again, but numbers it as Page 10 ! Further clicks on the
  64.          up-arrow widget increment the page count, but the display remains on
  65.          the first page.
  66.  
  67.        * From Martin Ward <Martin.Ward@durham.ac.uk>
  68.          The main reve window displayed in inverse mode with the SunView
  69.          version on a monochrome screen.
  70.  
  71.        * With the SunView version, the -i (inverse) option wasn't inverting
  72.          the help and property windows.
  73.  
  74.        *  From Robert Cohen <robert@anucsd.anu.edu.au>
  75.           The animation code doesn't work anymore for white pieces. It leaves
  76.           behind a continous trail of past pieces
  77.  
  78.        * Adjusted the images/Creve.icon file to use the correct colors for
  79.          the color icon, now that the colormap has changed. This has to be
  80.          painfully done by hand.
  81.  
  82.        * Removed all references to the revtable in the X11 (Xlib) driver, and
  83.          rewrote the load_image() routine to hopefully be more portable.
  84.  
  85.        * From Robert Cohen <robert@anucsd.anu.edu.au>
  86.          The code for changing players from human to computer is wrong. If at
  87.          the start of the game you set it to computer plays black, it correctly
  88.          makes a black move. If you then toggle it back again to computer plays
  89.          white it doesn't then make a white move. In fact after you make a
  90.          white move (even though it says White: Computer) it then plays a black
  91.          move.
  92.  
  93. v1.1 - patchlevel 6. 31th December 1990.
  94.  
  95.        * From Robert Cohen <robert@anucsd.anu.oz.au>
  96.          The X11 version incorrectly handled expose events when multiple
  97.          windows were involved.
  98.  
  99.        * From Robert Cohen <robert@anucsd.anu.oz.au>
  100.          The undo and redo commands don't erase the "moves?" crosses or the
  101.          suggestions cross.
  102.  
  103.        * From Robert Cohen <robert@anucsd.anu.oz.au>
  104.          The refresh code doesn't refresh the move crosses or the suggestion
  105.          cross. This means you cant ask for a suggestion, close the window
  106.          while its thinking about it and open it again when its done.
  107.  
  108.        * From Tom Friedel <tpf@jdyx.atlanta.ga.us>
  109.          There was a nasty bug in the x11.c and xview.c drivers. They
  110.          assumed that MAXPATHLEN = 1024 in the GETHOSTNAME call.
  111.  
  112.        * From raskin@skatter.usask.ca
  113.          With the tty version, the program mistakenly displays "Black (O)"
  114.          and "White (X)" for "Black: human" and "White: computer" even though
  115.          human's pieces are "X".
  116.  
  117.        * From Mike Wexler <mikew@maui.fx.com>
  118.          The help and props windows are now transient windows
  119.          The help and props windows can now be deleted without the program
  120.          exiting. Without this fix it is impossible to get rid of the props
  121.          or help window.
  122.  
  123.        * Added the undocumented -D command line option for debugging. Sets
  124.          synchronous mode for the X11 version.
  125.  
  126.        * Added in two more color resources for the X11 (Xlib) and XView
  127.          versions:
  128.  
  129.          reve.blackStoneColor - the color to use to display the "black" stones.
  130.          reve.whiteStoneColor - the color to use to display the "white" stones.
  131.  
  132.          The manual pages have been updated to describe these new resources.
  133.  
  134.        * From Robert Cohen <robert@anucsd.anu.oz.au>
  135.          The manual pages have been updated to describe the evaluation
  136.          information, including what a negative depth means.
  137.  
  138.        * Added ... to the props and help button labels to signify that these
  139.          buttons will pull up additional windows.
  140.  
  141.        * Added a check to the suggest() routine, which checks the validity of
  142.          the suggested move. If this move is invalid, then the suggest()
  143.          routine will return the first valid move square. This is a
  144.          workaround for the problem where, if you play black and as your
  145.          first move you go either e6 or f5 and then ask for a suggestion, the
  146.          suggestion is a1 which is of course an illegal move. This is a small
  147.          problem with the computer strategy which won't be properly fixed
  148.          until the next revision of the reve game strategy which will include
  149.          an opening book. This problem should only occur for the first
  150.          suggested move, so it is not really a bad thing to just give "any old
  151.          move".
  152.  
  153. v1.1 - patchlevel 5. 20th December 1990.
  154.  
  155.        * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
  156.          The Imakefile needs to be updated to install the new reve.help
  157.          file from the nroff'ed version of the reve manual page.
  158.  
  159.        * From Olaf Heimburger <olafh%berthold.UUCP%TUB.BITNET@mitvma.mit.edu>
  160.          The dummy definition for the make_message() routine was missing from
  161.          xview.c for the XView version of reve.
  162.  
  163.        * An XSynchronize() call was accidentally left in the x11.c file.
  164.  
  165. v1.1 - patchlevel 4. 18th December 1990.
  166.  
  167.        * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
  168.          From Rod Whitby <rwhitby@adl.austek.oz.au>
  169.          From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  170.          You forgot to add common.c and common.o to the file lists in the
  171.          Imakefile.
  172.  
  173.        * The props button for the SunView and X11 version now toggles the
  174.          display of the property window, rather than closing it down to an
  175.          icon.
  176.  
  177.        * Added in a redraw request (^L for example) for the other versions
  178.          (not just the tty one).
  179.  
  180.        * It was possible to number the 0th stone by toggling the "number
  181.          move" option.
  182.  
  183.        * Added in keyboard options for all the toggles on the property sheet.
  184.  
  185.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  186.          I'm not sure what the connection is between the level and the #moves
  187.          lookahead. Does one override the other? For instance, what if I set
  188.          level to 1 and #moves to 8?
  189.  
  190.          [Valerie Haecky has rewritten this section of the README file, and
  191.           I've modified the manual pages appropriately. The Difficulty and
  192.           Set Search Depth items on the property sheet have been modified
  193.           to better reflect the situation - Rich.]
  194.  
  195.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  196.          It would be nice to have the ability to "make tty" in the Imakefile
  197.          as well as being able to generate the X11 version.
  198.  
  199.          [Rod Whitby has kindly added this to the Imakefile for me - Rich.]
  200.  
  201.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  202.          Add the ability to change the default background colour of the board
  203.          to a (not too bright !) green colour. After all, that's the colour of
  204.          the othello sets you buy in the shops!
  205.  
  206.          [I'll do these with settable resources. I'll allow you to set some of
  207.           them on the command line, and I'll add a .reverc file, which will be
  208.           read from the users home directory. For the X11/XView versions, I'll
  209.           allow the resources to be set in all the standard X places, and the
  210.           .reverc file can superceed them - Rich.]
  211.  
  212.        * From: robert@anucsd.anu.oz.au (Robert Cohen)
  213.          It might be useful to have a way of setting the difficulty absolutely
  214.          ie in a way not dependant on the machine being used as otherwise level
  215.          3 say is harder on a faster machine than a slower machine. Then you
  216.          could say to someone else as a measure of your Othello playing ability
  217.          "I can beat reve on level a3" (a3 stands for absolute level 3).
  218.  
  219.          [This functionality is now available with the "set search depth"
  220.           option.]
  221.  
  222.        * Added the -props command line option, to automatically display the
  223.          reve property sheet on startup.
  224.  
  225.        * Added the reve.properties X resource, to achieve the same result.
  226.  
  227.        * Fixed the problem of the property sheet coming up with the incorrect
  228.          size under X11R3.
  229.  
  230.        * Added in support for online help window via a "help" button on the
  231.          main panel. The help file is just a copy of the nroff'ed version of
  232.          the manual pages placed in the $(LIBDIR) directory. The Makefile.dist
  233.          file has been updated to move this file to $(LIBDIR) with the "make
  234.          install". You can also specify the location of the reve help file
  235.          with the new HELPNAMEFILE and HELPNAME definitions.
  236.  
  237.        * The -h <helpfile> command line options have been added to allow you
  238.          to specify an alternate location for the helpfile. The manual pages
  239.          have been updated.
  240.  
  241.        * Modifying the "Computer plays:" selection, failed to update the
  242.          "Black:" and "White:" messages.
  243.  
  244.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  245.        * From Valerie Haecky <vmh@Eng.Sun.COM>
  246.          Allow the player to go forwards through a game as well as backwards
  247.          (Undo only performs the latter and not the former). In other words,
  248.          "undo the Undo" !
  249.  
  250. v1.1 - patchlevel 3. 9th December 1990.
  251.  
  252.        * Added a description of the -bestmove command line option to the
  253.          manual pages.
  254.  
  255.        * If you were using the -last option, and the window was iconified,
  256.          and there was only the initial four stones on the board, then
  257.          opening Reve, would incorrectly show the "last" square.
  258.  
  259.        * If you were using the -number option, and the window was iconified,
  260.          then when Reve was opened again, the number was not being displayed
  261.          on the last stone.
  262.  
  263.        * The display of a single digit on a stone (with the -number option)
  264.          was not centered correctly.
  265.  
  266.        * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
  267.          Problems with the Imakefile. The line that says
  268.          "LIBDIR=$(USRLIBDIR)/reve" should be deleted, and both of the rules
  269.          that say "$(LIBDIR)$(PATHSEP)reve" should actually say
  270.          "$(USRLIBDIR)$(PATHSEP)reve".
  271.  
  272.          Also, the EDGENAMEFILE should be changed to
  273.          $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE)
  274.  
  275.        * Added in X resources support for the X11(Xlib) and XView versions.
  276.          Currently, the resources read are:
  277.  
  278.            reve.animate:        (boolean) show animation.
  279.            reve.bestmove:       (boolean) show computer best move so far.
  280.            reve.difficulty:     (integer) computer difficulty level.
  281.            reve.last:           (boolean) show last move (with a square).
  282.            reve.log:            (boolean) write computer info to log file.
  283.            reve.notes:          (boolean) show computer notes.
  284.            reve.number:         (boolean) show last move (number on stone).
  285.            reve.quick:          (boolean) play quick game (don't flip stones).
  286.  
  287.        * From Valerie Haecky <vmh@Eng.Sun.COM>
  288.          Undo'ing is incorrect at the end game if the computer is playing
  289.          black.
  290.  
  291.        *  Need to allow options like -scale through on the command line. This
  292.           can be done by have an init_graphics() routine that gets called
  293.           right at the start, which strips off graphics specific options.
  294.  
  295.        *  The hourglass/watch cursor is turned on, when the computer is
  296.           suggesting a move.
  297.  
  298.        * If the bestmove option is on, and the computer suggested a move,
  299.          the last bestmove square wasn't being removed.
  300.  
  301.        * From Valerie Haecky <vmh@Eng.Sun.COM>
  302.          The show notes now also shows the current maximum depth for the
  303.          computer move.
  304.  
  305.        * From Valerie Haecky <vmh@Eng.Sun.COM>
  306.          Added to the README file, the address where people can get
  307.          information about tournaments, Othello Quarterly, and "Othello
  308.          Brief and Basic'
  309.  
  310.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  311.          Because the default is now set not to show the last square, and
  312.          notes is initially set off, I think that a status message such as
  313.          'Black has moved on square <c-5>' should be displayed, otherwise
  314.          you've no idea where the computer moved.
  315.  
  316.        * Stones are numbered and the last square shown when a game is
  317.          being loaded, if these settings are on.
  318.  
  319.        * From Valerie Haecky <vmh@Eng.Sun.COM>
  320.          More work on the XView version. The control panel layout has been
  321.          rearranged, and a property window added. The Help button has been
  322.          removed from the control panel. Several options can now be set via
  323.          the property sheet. A new difficulty value has been added; the
  324.          ability to set a maximum computer search depth rather than the
  325.          computer doing a timed move.
  326.  
  327.        * A new XView version has been created. This forks off a separate
  328.          process to do the computer moves. This is to try to get around
  329.          the server hanging problem. This still can happen, but not so
  330.          frequently.
  331.  
  332.          Two new files have been created:
  333.  
  334.          common.c and reve_proc.c.
  335.  
  336.          The Makefile.dist, MANIFEST and FILES files have been updated.
  337.  
  338.        * From: robert@anucsd.anu.oz.au (Robert Cohen)
  339.          It would be nice to have some idea of how far reve was looking ahead.
  340.          So in the notes section for example you could report on the ply used
  341.          to find the solution. If the bestmove option was set it could be shown
  342.          dynamically as new solutions were found.
  343.  
  344.        * For the SunView and X11 versions the Done button has been replaced by
  345.          a Props button. Clicking on this will toggle the display of a property
  346.          window. The property window looks something like:
  347.  
  348.          Computer plays:  White | Black | Neither | Both
  349.          Difficulty:      1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
  350.  
  351.          Options: [ ]    Animate Move
  352.                   [ ]    Show Current Best Move
  353.                   [ ]    Show Last Move
  354.                   [ ]    Show Evaluation Info.
  355.                   [ ]    Number Last Move
  356.                   [ ]    Don't Show Flip
  357.  
  358.          This introduce two new type of "panel" item, the toggle item
  359.          (P_TOGGLE) and the choice item (P_CHOICE). The cycle item has been
  360.          removed.
  361.  
  362.          Selecting the Both field on the Computer plays: option, will display
  363.          the message that this option is currently not implemented.
  364.  
  365.          The following changes have occured in the main reve window:
  366.  
  367.          The Black: and White: items are messages. The Difficulty: and
  368.          Show Notes: items will disappear, freeing up a row.
  369.  
  370.          Setting the Computer plays: option, alters the Black: and White:
  371.          options.
  372.  
  373.          The iteminfo structure will have five new fields:
  374.  
  375.            int lx ;              /* X position of the label. */
  376.            int ly ;              /* Y position of the label. */
  377.            char label[60] ;      /* Panel item label. */
  378.            char *options ;       /* Pointer to list of string choices. */
  379.            int nopts ;           /* Number of options in list. */
  380.  
  381.          Only certain fields are used with each type of panel "item". All
  382.          items are initialised in main.c.
  383.  
  384.          Two new files have been added to the images directory:
  385.  
  386.          images/Sch_off.icon
  387.          images/Sch_on.icon
  388.  
  389.          This solves the following problems:
  390.  
  391.        * From: robert@anucsd.anu.oz.au (Robert Cohen)
  392.          It would be nice to be able to change all the program parameters from
  393.          inside the game. For example being able to pull down a menu and turn
  394.          the bestmove option on or off.
  395.  
  396.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  397.          I, and most of the users here, use a combination of X11R4, twm and
  398.          1024 by 768 colour or mono displays. The new Reve window now exceeds
  399.          the height of the screen minus the height of the twm title bar of the
  400.          window! Hence the bottom of half of row 8 and the a to h labelling
  401.          are no longer visible, even if the top of the twm title bar for the
  402.          Reve window is at the top of the screen!
  403.  
  404.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  405.          Why double switches for White, Black and Notes? Both halves of the
  406.          switches do the same thing.
  407.  
  408.        * Incorporated a new version of the rev_eval.c evaluation fuction from
  409.          Yves. There is also a complete new edge table to go with this. This
  410.          should be faster on RISC systems.
  411.  
  412.        * XResourceManagerString, which is now used as part of the X resources
  413.          support in the X11 and XView versions, appears to be an X11R4
  414.          functions. If you are trying to get the X11 version working with
  415.          X11R3, then there is a new definition in the Makefile[.dist] file
  416.          that you'll have to uncomment. The README file has been updated to
  417.          mention this.
  418.  
  419.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  420.          Using the X11 interface, when I click on Suggest and get a cross
  421.          marking the suggested square, then the cross does not disappear when
  422.          I click on Undo (the position is different, so the suggested square
  423.          is no longer valid). This gets a bit confusing when you do a Suggest,
  424.          Undo and Suggest again sequence - you end up with 2 crosses on the
  425.          board.
  426.  
  427.        *  From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  428.           When compiling rev_ip.c on an HP-UX 9000 Series 300 machine (68020 or
  429.           68030), the HP-UX 7.0 C compiler crashes out with the following error:
  430.  
  431.           C1 internal error in "tuplonges": invalid OREG in recognize_array()
  432.  
  433.           This problem has now been found, and the appropriate code is
  434.           #ifdef'ed in rev_ip.c.
  435.  
  436. v1.1 - patchlevel 2. 28th November 1990.
  437.  
  438.        * Adjusted Makefile.dist to correctly install and shar reve.man and
  439.          reve.man.text.
  440.  
  441.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  442.          The message "Computer can't play both sides" or words to that
  443.          effect, almost extends into the "Notes" line--not pretty.
  444.          I've moved the notes panel message down below the display message.
  445.          The score and turn messages are below that. This will allow longer
  446.          display messages and evaluation information.
  447.  
  448.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  449.          From Jacob E. Goodman <JEGCC@CUNYVM.CUNY.EDU>
  450.          The "last move" square was not being removed when a new move was
  451.          made, with the monochrome SunView version.
  452.  
  453.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  454.          Stick with either "piece" or "stone" when outputting messages. The
  455.          manual pages have been changes to use stone[s].
  456.  
  457.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  458.          The mechanism for moving (pulling a circle around) is neat, but
  459.          slightly imprecise. How about making the square which is pointed to
  460.          be surrounded by a black box in addition?
  461.  
  462.        * From Rod Whitby <rwhitby@adl.austek.oz>
  463.          The redefinition of LIBDIR in the Reve Imakefile will override any
  464.          site customisation in site.def in the Imake config directory.
  465.  
  466.        * From Daniel Edward Lovinger <dl2n+@andrew.cmu.edu>
  467.          Use <X11/Xos.h> in x11.c and xview.c - it makes system transparent
  468.          code a considerable bit easier ... at least in terms of header file
  469.          stuff. In particular, it handles the {strings,string}.h bit
  470.          automagically.
  471.  
  472.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  473.          The -animate command line option has been provided to show animation.
  474.          The computer's stone will glide in from the top left corner of the
  475.          board, and if you hold the left mouse button down, you can drag
  476.          your stone around.
  477.  
  478.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  479.          The -quick command line option have been provided to prevent the
  480.          flash of the turned over stones, and thus provide a quicker game.
  481.  
  482.        * From Valerie Haecky <vmh@Eng.Sun.COM>
  483.          Showing the last move could be optional. The -last command line
  484.          option has been provided to do this.
  485.  
  486.        * The -b command line option has been changed to -black.
  487.          The -l command line option has been changed to -load.
  488.          The -n command line option has been changed to -notes.
  489.          The -w command line option has been changed to -white.
  490.  
  491.        * From Jacob E. Goodman <JEGCC@CUNYVM.CUNY.EDU>
  492.          With the SunView version on a monochrome screen, when I close Reve
  493.          up, the icon is invisible.
  494.  
  495.       *  From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  496.          The "Done" button always confuses me, I would have thought "Hide",
  497.          "Iconify" would have been a better label for it.
  498.  
  499.       *  Incorporated the game Reve game strategy routines from Yves that
  500.          were used in the University of Waterloo Othello competition. These
  501.          should increase the speed, and the quality of the notation of the
  502.          5 stones border. A bug detected on DecStation 5000 has been solved
  503.          too. The note is different for:
  504.  
  505.             . . o o o o o .        and        . . o o o o o .
  506.             ? ? o ? ? ? ? ?                   ? ? x ? ? ? ? ?
  507.  
  508.             Bad, because a real               "Good" ( note = 0 ),
  509.             5 stones border.                  because in fact a future
  510.             ( insertion problem )             6 stones border.
  511.  
  512.       *  To stop Saber-C from bitching, added continue's to all while and
  513.          for loops that had empty bodies.
  514.  
  515.       *  A call to draw_rect() in draw_textfield() in items.c had an incorrect
  516.          number of parameters.
  517.  
  518.       *  From John Eldredge <mtxinu!uunet.UU.NET!radar!eldredge@Sun.COM>
  519.          Added in changes to get Reve to compile on an AT&T UNIX PC (also
  520.          known as a 7300 or 3B1). This machine uses version 3.51 of its
  521.          operating system, which is based upon System V Rev. 2.
  522.          In addition to a few SYSV conditional compilations for the #include
  523.          for <sys/times.h>, a new definition has been added to the
  524.          Makefile.dist file, called NO_TIMEVAL which needs to be uncommented,
  525.          since the timeval structure isn't defined under System V. The usleep()
  526.          fix is a real hack; System V (or at least this version) doesn't have
  527.          either the select() system call or the usleep() system call, and can
  528.          only sleep multiples of one second.
  529.  
  530.        * The keyboard accelerator for "moves?" has been changed from 'A' to
  531.          'M'.
  532.  
  533.        * Suggest shows an evaluation if Notes are on.
  534.  
  535.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  536.          When you undo a move, I suspect the entire board is redrawn. If you
  537.          keep a separate array of what's actually on-screen, then a take-back
  538.          should only redraw the squares that are different.
  539.  
  540.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  541.          It shouldn't say "Black to move" or give Notes when game is over.
  542.  
  543.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  544.          When the human takes a move back, the line to the right, near the
  545.          bottom, saying something like: White: <c-7> eval : 1488
  546.          should change back accordingly.
  547.  
  548.        * The X11 version was incorrectly processing the Shift keys.
  549.  
  550.        * From Valerie Haecky <vmh@Eng.Sun.COM>
  551.          Instead of the square used to show "last move", you could display the
  552.          move number in the stone. This is nice, if you want to comment a game.
  553.          I just find myself counting stones all the time. I've added the
  554.          -number command line option to do this.
  555.  
  556.        * From Soren Hein <shein@ferdowsi.berkeley.edu>
  557.          The note function is not so useful when you don't know what "1488"
  558.          means, anyway. Are positive numbers good for White, or do they just
  559.          represent the incremental value of the latest move? Could they be
  560.          meaningfully converted into an equivalent number of pieces?
  561.  
  562.          [An explanation of how the evaluation value is calculated, has been
  563.           added to the README file, in the strategy section - Rich.]
  564.  
  565.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  566.          From Soren Hein <shein@ferdowsi.berkeley.edu>
  567.          As the computer is making it's move, highlight the best square found
  568.          so far during the computer search and display its rating in the Notes
  569.          section.
  570.  
  571.        * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
  572.          Fixed up the MANIFEST and FILES files, to use the new names from
  573.          patch #1.
  574.  
  575. v1.1 - patchlevel 1. 9th November 1990.
  576.  
  577.        * Time allocation function was out by 1. All the levels are shifted
  578.          by 1. This explains why computer move selection at level 1 is so
  579.          "slow".
  580.  
  581.        * The sandwich routine in makemove.c, was accessing out of bounds
  582.          elements in the square array.
  583.  
  584.        * The play_reve routine in rev_ip.c, was accessing out-of bounds
  585.          elements in the cpi, cpj and cpk arrays.
  586.  
  587.        * black_dpy and white_dpy were declared inconsistently in main.c and
  588.          extern.h
  589.  
  590.        * If you select White->human, then Black->computer, Reve correctly
  591.          plays the black computer move. If you then select Black->human
  592.          followed by White->computer, Reve incorrectly made another move
  593.          for black. There was a similar problem when starting a new game
  594.          with Black being played by computer.
  595.  
  596.        * Fixed up a few other inconsistencies found by Saber-C.
  597.  
  598.        * Extraction of the optional X11 display names for the -b and -w
  599.          options in get_options() was incorrect.
  600.  
  601.        * If you used the suggest button, to get the computer to suggest a
  602.          move, it was decrementing the time allowed for the computer.
  603.  
  604.        * Adjusted entries 2191 and 2917 of the Reve edge stability table
  605.          (in reve.edge2).
  606.  
  607.        * Added in the code for a new tree algorithm from Yves (rev_eval.c
  608.          and rev_ip.c).
  609.  
  610.        * Added a -r command line option, which will write some computer
  611.          move information to a reve.res file after each computer move. This
  612.          is probably only of use to people trying to improve the computer
  613.          algorithm. The manual pages has been updated.
  614.  
  615.        * The computer move timing function in rev_ip.c now uses an alarm and
  616.          signal, so should be independent of the machine it's running on.
  617.  
  618.        * Changed the variable "depth" to "level". As Reve now uses a timing
  619.          function to calculate it's computer moves, "depth" is not a true
  620.          indication of depth.
  621.  
  622.        * Changed all #include <strings.h> to #include string.h or strings.h
  623.          depending upon whether SYSV was defined.
  624.  
  625.        * The amount of computer time left for moves is now stored for each
  626.          move, so that if a move is undone against the computer, the previous
  627.          time left value is restored.
  628.  
  629.        * Added in a -m command line line, which will start up Reve in
  630.          monochrome only, even on a color screen.
  631.  
  632.        * The last move made is now shown by putting a black square around
  633.          the piece on the board. This is updated when a new move is made. The
  634.          manual pages have been changed to mention this.
  635.  
  636.        * The "last" panel button has been replaced with a "moves?" panel
  637.          button (and rearranged to be alphabetical), which displays all the
  638.          valid moves at any particular time. This is very useful for
  639.          beginners and for teaching purposes. The manual pages have been
  640.          updated to reflect these changes.
  641.  
  642.        * Added in more hooks for two screen support for the X11 version.
  643.  
  644.        * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
  645.          - Supplied a standard Imakefile for use with the X11 version of reve.
  646.            The Imakefile expects the manual pages in (nroff'able format) to
  647.            be in a file called reve.man, so reve.man needs to be renamed to
  648.            reve.man.text, and reve.6 needs to be renamed to reve.man. This is
  649.            detailed explicitly at the beginning of the instructions on how to
  650.            apply this patch.
  651.  
  652.          - If X11 is defined (It's defined in the Imake-generated Makefile),
  653.            then include <X11/Xos.h>. That file does the index/strchr frobbing
  654.            automatically. Affects boardstuff.c and main.c
  655.  
  656.          - Removed the definition of FREAD in reve.h. Some systems use
  657.            FREAD as a constant in /usr/include/sys/file.h. Incidentally,
  658.            it was no longer needed.
  659.  
  660.          - Only do the index/strchr frobbing if X11 isn't defined. Change
  661.            to reve.h
  662.  
  663.          - As far as I know, void-returning signal handlers are NOT part of
  664.            standard BSD4.3, so your #ifdef name for that is a bit wrong.
  665.            This name has been changed to INT_SIGNAL, and all the appropriate
  666.            files updated.
  667.  
  668.        * Included a new XView version of Reve from Valerie Haecky. Adjusted
  669.          the "generic" sources to handle this. This involved moving
  670.          draw_piece and draw_rect into boardstuff.c, and *not* including
  671.          items.c when compiling the XView version. The XView version needs a
  672.          -DXVIEW flag to correct setup five #defines in reve.h. The
  673.          Makefile.dist has been updated to handle all this.
  674.  
  675.        * The introductory messages in each file have been changed to try to
  676.          state our wishes in the correct manner.
  677.  
  678.        * From Krishnamurthy Ganesan <ganesan@cs.fau.edu>
  679.          The processing of the readmask in the Xselect_input() routine in
  680.          x11.c was incorrect for the non-BSD4.3 option. The parentheses
  681.          were misplaced in two lines.
  682.  
  683.        * From Gordon C. Galligher <telxon!ping!source@uunet.UU.NET>
  684.          Several icons in the images sub-directory have had their names
  685.          changed to less than 14 characters, so that they can work on
  686.          System V machines.
  687.  
  688.        * There was an offset problem when drawing the inverted piece
  689.          for the first time on a mouse down. This was before it was
  690.          dragged around.
  691.  
  692. v1.1 - patchlevel 0. 22nd October 1990.
  693.  
  694.        * A #include <ctype.h> is needed in boardstuff.c to handle the
  695.          islower() macro. SunOS v4.1 didn't require this.
  696.  
  697.        * If black is being played by the computer, and you select a new
  698.          game, the first move was not being made.
  699.  
  700.        * Changed the default playing mode. If you startup reve now with
  701.          no command line options, then black is played by a human, and
  702.          the computer plays white. The manual pages have been updated to
  703.          mention this.
  704.  
  705.        * Disabled the time allocation function for the computer when the
  706.          level of difficulty is 1. This means the computer makes a fast
  707.          simple move. Level #2 is now set to a total of one minute. The
  708.          manual pages have been updated to reflect this.
  709.  
  710.        * Reve was incorrectly giving notes when humans were making moves.
  711.  
  712.        * If the user has undone a few moves, the save operation still
  713.          saved the undone moves.
  714.  
  715.        * The score message should be Black: first, followed by  White:,
  716.          and not the other way around.
  717.  
  718.        * If a player is forced to pass the turn message was not being set
  719.          correctly.
  720.  
  721.        * The load/save text field was being incorrectly removed with the
  722.          monochrome version.
  723.  
  724.        * Increased the version number to v1.1; reset the patchlevel to 0.
  725.  
  726.          [Posted to comp.sources.games].
  727.  
  728. v1.0 - patchlevel 6. 18th October 1990.
  729.  
  730.        * Fixed up the tty version to work with all the new panel items.
  731.  
  732.        * Keyboard input equivalents of each button/cycle now appear to be
  733.          working.
  734.  
  735.        * Improved error messages when loading a game file.
  736.  
  737.        * If the user requests a new game, and the computer was playing
  738.          black, then the computer now correctly makes the first move.
  739.  
  740.        * The black/white plays cyclic items have been implemented.
  741.  
  742.        * The manual pages has been completed. A plain text of the manual
  743.          pages has been included with the distribution. The FILES, MANIFEST
  744.          and Makefile.dist files have been updated.
  745.  
  746.        * The undo routine has been fixed.
  747.  
  748.        * Changed Makefile.dist to compile reve with -O by default.
  749.  
  750.          [Made available internally via anon ftp, and to ACSnet sites in
  751.           Australia via fetchfile].
  752.  
  753. v1.0 - patchlevel 5. 17th October 1990.
  754.  
  755.        * Added in the ability to load a game, either from the command line
  756.          or via the Load panel button. The initial variables are initialised
  757.          appropriately, and the board is displayed.
  758.  
  759.        * Added in the save_game() code.
  760.  
  761.        * Added an XFlush call to get_event() in the X11 driver. Also set
  762.          a couple of WM hints. Divided start_tool into two input handling
  763.          routines depending upon whether XTWO is set. Xnext_input() uses the
  764.          normal X input handling, and Xselect_input uses the select call
  765.          (which is not working properly yet).
  766.  
  767.        * The text field is now correctly redrawn if there was a FRAME_REPAINT
  768.          event whilst a load or a save was in progress.
  769.  
  770. v1.0 - patchlevel 4. 15th October 1990.
  771.  
  772.        * Added the "done" and "quit" buttons back (albeit on a new second
  773.          row), and their associated functions.
  774.  
  775.        * Added in a text input field, which gets displayed when either the
  776.          load or save buttons are pressed. This allows a filename for the
  777.          load/save operation to be specified.
  778.  
  779.        * Added a "-l <gamefile>" command line option, which allows you to
  780.          specify a game file to initially load. Updated the usage message.
  781.  
  782.        * Reve will now ignore lines starting with a hash (comments), and
  783.          blank lines, when reading in the Reve edgetable.
  784.  
  785.        * Added the hooks (load_game and save_game()) for loading and saving
  786.          game files. These routines still need to be written.
  787.  
  788. v1.0 - patchlevel 3. 8th October 1990.
  789.  
  790.        * Incorporated new reveinit.[c,h] files from Yves. Adjusted
  791.          Makefile.dist to not include these files, just thr reve.edgetable.
  792.  
  793.        * Modified make_move to correctly allow human vs human, and human
  794.          vs computer.
  795.  
  796.        * Modified init_canvas, such that if the computer is playing black,
  797.          it correctly makes it's first move.
  798.  
  799.        * The cyclic item "Notes:" has been implemented. Two new panel message
  800.          items have been added; NOTES_MES and TURN_MES.
  801.  
  802. v1.0 - patchlevel 2. 2nd October 1990.
  803.  
  804.        * Finished the strategy section of the README file.
  805.  
  806.        * Fixed up Makefile.dist to correctly shar up the images directory.
  807.  
  808.        * Reve now has nine levels of difficulty. This is described in more
  809.          detail in the README file.
  810.  
  811.        * Added in Gary Klines' SysV mods (for othello) to the Reve code.
  812.  
  813.        * reveinit has been linted and modified to generate the edge table in
  814.          ASCII format. This will make it easily distributable, and save
  815.          people with slow machines from having to regenerate it. Reve has
  816.          been modified to read the edge table in ASCII format.
  817.  
  818.        * A -d <difficulty> command line has been added. This allows you to
  819.          specify an initial difficulty for Reve.
  820.  
  821.        * The update_board_image() routine nows outputs who's turn it is next.
  822.  
  823. v1.0 - patchlevel 1. 20th September 1990.
  824.  
  825.        * Inclusion of command line support for -w <display> and -b <display>
  826.          With the X11 version, this allows two humans on the network to play
  827.          Reve against each other. All the hooks are there; this just needs to
  828.          be finished.
  829.  
  830.        * Included in Yves' new Reve computer strategy that uses a timing
  831.          function.
  832.  
  833.        * Increased the number of levels of difficulty to six. These relate
  834.          to times of 1, 3, 5, 10, 20 and 30 minutes respectively.
  835.  
  836.        * Completed the README file (except for part of the Reve strategy
  837.          section).
  838.  
  839.        * Added the SELTYPE definition to Makefile.dist for non BSD-4.3
  840.          derived systems.
  841.  
  842.        * Included the minimum number of #include files with each source
  843.          file.
  844.  
  845.        * Changed definitions of BLANC/NOIR/VIDE to WHITE/BLACK/FREE.
  846.  
  847.        * Adjusted the style of the reve computer strategy modules to be the
  848.          same as the rest of the Reve code.
  849.  
  850.        * Made as many routines as possible void. Definitions added to reve.h.
  851.  
  852.        * All versions (SunView, X11, XView and tty) are now working with the
  853.          new hooks. This all needs to be finished.
  854.  
  855. v1.0 - patchlevel 0. 16th September 1990.
  856.  
  857.        * Started.
  858.  
  859.        * Removed all references to othello (replacing them with references
  860.          to reve). Renamed various files appropriately.
  861.  
  862.        * All images moved into a sub-directory called images, and images.h
  863.          adjusted accordingly.
  864.  
  865.        * All references to Chris Miller's computer move and remarks code
  866.          have been removed. Two cycle items (for aspiration and remarks?)
  867.          plus one panel message item have been removed, and the graphics
  868.          adjusted accordingly.
  869.  
  870.        * Added in a -? command line option. This and the -v option will
  871.          display the current reve version number and the usage message then
  872.          exit.
  873.  
  874.        * During initialisation, reve will look for a file called
  875.          reve.edgetable. The location of this file can be set in the Makefile,
  876.          and also overridden with the -e command line option. Reve will look
  877.          in every directory on the search path if it's not in the given
  878.          location.
  879.  
  880.        * The Makefile has been modified to generated the reve edge table at
  881.          installation time, if it's not already made.
  882.  
  883.        * All versions (SunView, X11, XView and tty) are now working with the
  884.          new graphical layout.
  885.  
  886.        * The suggest routine now correctly interfaces with the play_reve
  887.          routine.
  888.